Masonry是一个轻量级的代码加约束的库,把系统那些非常不人性化的约束代码封装为可以链式调用的代码,上手容易,好用。

我一直都是用storyboard布局加约束,所以对这个了解不多,最近没事研究了下,果然很强大。尤其这个约束错误的输出扩展NSLayoutConstraint+MASDebugAdditions.m,真是太好用了。

一般是约束有错的时候都是输出的这样
Paste_Image.png

一开始看不懂,但是现在约束比较熟练,猜一下还是能猜出来哪里错了。但是也很麻烦啊。storyboard里面约束错误大部分时候会有提示,但是有时候也没有。这时候就可以使用Masonry 的这个扩展来输出的话
Paste_Image.png

就会把上面的内存地址转换成你的对象名称,这样你就可以针对你加在这些对象上的约束来判断哪里有冲突,然后改正。

使用方法Masonry里面的demo写的很详细。因为就一句话

1
  MASAttachKeys(_centerView,self.view);

这是一个宏,导入”Masonry.h”头文件后就可以使用。后面的参数是添加了约束的对象,多个参数用逗号隔开。

storyboard使用的话,把控件拖出来就可以。

其实还是看Masonry吧。

要是当初开始学习约束的时候就知道这个该多爽啊。那时候可是一个一个试的 累得要死。